书评:Core Java Volume 1 您所在的位置:网站首页 core java volume i 书评:Core Java Volume 1

书评:Core Java Volume 1

2023-09-09 06:51| 来源: 网络整理| 查看: 265

从21世纪我所处的位置开始,很难想象曾经有Java头衔稀缺。 但这就是Java最早的时候的状态,当时所有的东西都是一些Sun工程师出版的少量珍宝,例如Arthur Van Hoff等人的“ Hooked on Java”。 和Patrick Naughton撰写的“ Java手册”。

这些书确实填补了空白,但是每本书只有三四百页,它们必然对您对编程的知识,特别是对面向对象的编程进行了定量假设。

然后在1996年3月,Cay Horstmann和Gary Cornell提出了600页的单卷论文“ Core Java”,其中没有做任何假设,并且以清晰易读的方式使读者从头开始学习Java,这让人想起了早期的编程经典。 Brian Kernighan和Patrick Henry Winston。

快进17年; Horstmann和Cornell发布了Core Java(第9版) 。 这是两卷本的书,第一卷(基础)的卷为974页,第二卷(高级功能)的卷为1128页。 在其中,您将找到有关Java 7,Java开发工具包(JDK)的最新版本的所有信息,包括集合,泛型,并发性以及自JDK第一版以来引入的所有Java装饰。

写作风格一如既往的清晰易读,并且充斥着一些基本但不琐碎的例子。 显然,创建这些示例需要大量的思想,这些示例足够详细,可以提供有意义的参考。 本书中散布着频繁的“ C ++注释”注解,旨在在相应的Java习惯用法上指导C ++程序员。

(点击图片放大)

第I卷以Java的简要历史和语言设计人员的最高要求(健壮,可移植,多线程等)开始,随后是简洁的入门指南,其中包括有关下载和安装Java编程环境的说明,包括JDK和Eclipse IDE。 本节中有一些可靠的编码示例,因此您可以使用一些可视化的applet测试设置。

接下来介绍最基本的数据类型以及语法,编程结构和控制流。 这包括BigNumber,BigDecimal和BigInteger的很好的解释。

在不考虑所有基础知识的情况下,这本书深入讨论了面向对象(OO)编程。 来自程序背景(例如C)的程序员通常会发现,向OO过渡的学习曲线很困难。 Core Java在平整该曲线方面做得很好。 讨论仅从一些基本的UML,直观的示例以及Java中的类和对象的讨论开始。 然后,它很好地融入了OO的Java风格,包括类文件和构造函数。 本章以“类设计提示”结尾。 一组用于创建良好的,可读的和可重用的代码的最佳实践。

在OO讨论之后,接下来的几章将以Java实现为基础,并讨论继承,接口和内部类。

接下来的四章包含300页的图形编程开发,包括主要的Swing组件,字体,使用颜色,处理鼠标和键盘事件,布局管理器,小程序以及诸如浏览器,Java Web Start和JAR文件。 令我感到失望的是,该书仅提及JavaFX,而JavaFX现在已内置在核心Java库中并用作Swing扩展。

从这一多彩的变化中返回,下一章讨论异常处理,异常处理自然地过渡到调试技巧,日志记录和使用调试器。 随后是有关泛型编程的章节。 即使是核心Java程序员也对该主题有疑问,但是讨论是在清晰的条件下进行的。 本书还介绍了Java 7中作为“项目硬币”的一部分引入的新的钻石符号。 该书随后讨论了Java集合和地图,包括一些算法,并对一些较旧的集合和地图(例如HashTable,Vector和Enumeration)进行了简要概述。

本书从头开始以一本长达108页的章节介绍多线程。 本章以“什么是线程”开始,以“线程状态”开始,包括一个漂亮的状态图,通过“同步”进行过渡,并讨论竞争条件。 接下来是对自Java 5以来引入的java.util.concurrent组件的一些讨论。接着是对执行器和线程池的介绍,“同步器”组件,以及对使用线程确保Swing UI保持弹性的SwingWorker概念的精彩讨论。和ReactSwift。

我认为将多线程这一章包括在第二版中是一个不错的决定。 并发对于所有非平凡的Java代码都是必不可少的,不应将其视为高级功能。 但是,我很遗憾地看到关于流和读者的一章,也是一个基本主题,已从第一卷中删除,现在将在三月份发行时出现在第二卷中。

自从1995年首次引入Java以来​​,它已经发展壮大,不仅在表达能力方面,而且在周围的生态系统方面。 Java核心很长但是很全面。 它对于新手程序员,其他语言的程序员,甚至是高级Java程序员来说都是易于阅读和完善的,他们希望在手头上就核心Java的各种主题保持一致,清晰的参考。

翻译自: https://www.infoq.com/articles/core-java-fundamentals/?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有